Different types of human input devices are available to allow a computer user to communicate with a computer. Personal computers usually offer input devices such as a keyboard and a mouse. Numerous other devices are available, such as trackballs, touch pads, joysticks and game pads. In general, when connected to a computer, human input devices allow a user to communicate information to the computer. The information communicated instructs software applications running on the computer to perform specified actions. More recently, mechanical control elements such as “specialized” buttons, on mice, keyboards, and other devices, have been employed to allow computer users to relatively rapidly perform frequent tasks. Having a particular “specialized” button behave in a similar manner in a variety of applications (for example, a Next button used to advance to a next screen in one application and to a next picture in another application) may require different functionality to be invoked in each of the different applications. Further, it may desirable to provide more different kinds of functionality on a given device than the industrial design for the device allows for, in terms of number of buttons, for example. In either of these situations, a given button needs to be successfully mapped to a variety of functions, depending on what application is currently active.
The discussion above is merely provided for general background information and is not intended to be used as an aid in determining the scope of the claimed subject matter.